package com.xiaomaoguai.mybatisplus.utils;

import org.aeonbits.owner.Config;

/**
 * @author :WeiHui.Zhang
 * @Description:
 * @FileName: SystemConfig.java
 * @Date: 2016年6月6日 下午8:07:57
 * @Version:V1.00
 */
@Config.Sources("classpath:config.properties")
public interface SystemConfig extends Config {

	/**
	 * 创建人
	 */
	@Key("${env}.author")
	@DefaultValue("WeiHui.Zhang")
	String createdName();

	@Key("${env}.saveDir")
	@DefaultValue("d:/test/")
	String saveDir();

	@Key("${env}.entityPackage")
	@DefaultValue("d:/module/")
	String entityPackage();

	@Key("${env}.mapperPackage")
	@DefaultValue("d:/module/")
	String mapperPackage();

	@Key("${env}.mapperXmlPackage")
	@DefaultValue("d:/module/")
	String mapperXmlPackage();

	@Key("${env}.servicePackage")
	@DefaultValue("d:/module/")
	String servicePackage();

	@Key("${env}.serviceImplPackage")
	@DefaultValue("d:/module/")
	String serviceImplPackage();

	@Key("${env}.serverPackage")
	@DefaultValue("d:/module/")
	String serverPackage();

	@Key("${env}.serverImplPackage")
	@DefaultValue("d:/module/")
	String serverImplPackage();

	@Key("${env}.controllerPackage")
	@DefaultValue("d:/module/")
	String controllerPackage();

	/**
	 * 可以通过env参数实现不同开发环境的隔离
	 *
	 * @return
	 */
	@Key("env")
	@DefaultValue("env")
	String env();
}
